On s’attache ici à reproduire la cartographie du paysage politique suisse réalisée par Hermann et Lautheld (2003), dans leur Atlas der politischen Landschaften – Ein weltanschauliches Porträt der Schweiz.
A partir de 184 votations tenues entre 1981 et 2002, les auteurs montrent des graphiquement des différences persistantes de mentalité dans les cantons et les communes de Suisse, ce qu’ils nomment “l’espace des visions du monde”. En effet, davantage que des conflits politiques, ces votations permettent de saisir les lignes de fracture dans une société : pour une société libérale ou conservatrice, pour une protection des travailleurs ou des entreprises, pour une société écologique ou technocratique.
Aussi, sont dans un premier temps analysées ces votations afin d’en dégager ces lignes de fracture. Les auteurs ont recours pour cela à une analyse factorielle, avec l’idée que si l’on trouve un certain nombre de votations avec une répartition similaire des votes favorables, ils représentent une ligne de conflit politique ou un facteur. Tout autre groupe de votes qui ont un degré élevé d’accord entre eux, mais qui sont incompatibles avec les facteurs déjà trouvés, donne un facteur supplémentaire. On arrive ainsi par cette analyse factorielle à identifier les lignes de fracture sociétales.
Ensuite, avec une méthode à base d’estimation de densité par les noyaux explicitée par la suite, on peut réaliser une cartographie factorielle de ces résultats.
Les paquets R suivants vont nous être utiles :
library(FactoMineR)
library(factoextra)
library(stringi)
library(psych)
library(REdaS)
library(knitr)
library(reshape2)
On commence par récupérer les données des votations qui peuvent être extraites depuis : https://www.bfs.admin.ch/bfs/fr/home/statistiques/politique/votations.assetdetail.3362356.html
Après mise en forme correcte, on charge les données :
data <- read.csv("votations.csv", header = TRUE, sep = ";", encoding = "latin1")
On fait un peu de mise en forme afin de pouvoir s’y retrouver plus facilement :
rownames(data) <- make.names(data$Commune, unique=TRUE)
colnames(data) <- stri_sub(colnames(data),2) # enleve les X des noms de colonne
data <- data[, -1]
data <- data[,order(as.Date(substr(colnames(data),1, 10),
format="%d.%m.%Y"))] # trie les colonnes par date
Notre tableau de données ressemble à cela :
head(data[,1:5])
## 14.06.1981.Egalité.entre.hommes.et.femmes
## X.Saxeten 54.5
## X.Alpthal 18.4
## X.Le.Bémont..JU. 79.3
## X.Oberdorf..BL. 54.5
## X.Mellikon 69.4
## X.Liesberg 49.0
## 14.06.1981.Protection.des.consommateurs
## X.Saxeten 45.5
## X.Alpthal 20.8
## X.Le.Bémont..JU. 81.0
## X.Oberdorf..BL. 61.5
## X.Mellikon 70.3
## X.Liesberg 61.0
## 29.11.1981.Régime.financier 06.06.1982.Code.pénal.suisse
## X.Saxeten 60.0 66.7
## X.Alpthal 53.8 55.6
## X.Le.Bémont..JU. 40.7 55.9
## X.Oberdorf..BL. 58.2 45.7
## X.Mellikon 58.7 47.7
## X.Liesberg 50.4 58.8
## 06.06.1982.Loi.sur.les.étrangers
## X.Saxeten 31.3
## X.Alpthal 40.7
## X.Le.Bémont..JU. 55.9
## X.Oberdorf..BL. 26.6
## X.Mellikon 26.7
## X.Liesberg 44.3
Alors maintenant on effectue une partition de manière à ne garder que les votations effectivement considérées par Hermann et Leuthold (2003), comme les colonnes sont maintenant triées par date, c’est très simple :
data_old <- data[,4:187]
Pour commencer, explorons un peu nos données : dans un premier temps, les votes sont comparés par paires.
Prenons par exemple le vote sur l’adhésion de l’ONU (2002) et le vote sur la facilitation de la naturalisation des jeunes étrangers (1994) :
plot(data$`03.03.2002.Adhésion.de.la.Suisse.à.l.ONU`,
data$`12.06.1994.Naturalisation.facilitée.pour.les.jeunes.étrangers`,
xlab = "Adhésion à l'ONU (2002)",
ylab = "Naturalisation facilitée pour les jeunes étrangers (1994)",
xlim=c(0,100), ylim=c(0,100))
On voit qu’il existe un lien positif entre le oui pour l’adhésion à l’ONU et pour “faciliter la naturalisation des jeunes étrangers”. En règle générale, cela veut dire que plus une commune est favorable à la “facilitation de la naturalisation”, plus elle est favorable à une adhésion à l’ONU.
Prenons un autre exemple, l’approbation de la facilitation de la naturalisation des jeunes étrangers (1994) et l’approbation du projet contre l’immigration clandestine (1996) :
plot(data$`01.12.1996.Contre.l.immigration.clandestine`,
data$`12.06.1994.Naturalisation.facilitée.pour.les.jeunes.étrangers`,
xlab = "Contre l'immigration clandestine (1996)",
ylab = "Naturalisation facilitée pour les jeunes étrangers (1994)",
xlim=c(0,100), ylim=c(0,100))
Ici, en revanche, la figure montre une corrélation négative : plus l’approbation de “la naturalisation facilitée” est élevée, plus l’approbation de la “limitation de la proportion d’étrangers” est faible.
Voyons un dernier cas de figure avec la comparaison de l’interdiction de l’expérimentation animale (1992) et la facilitation de la naturalisation des jeunes étrangers (1994) :
plot(data$`16.02.1992.Initiative.contre.l.expérimentation.animale`,
data$`12.06.1994.Naturalisation.facilitée.pour.les.jeunes.étrangers`,
xlab = "Initiative contre l'expérimentation animale (1992)",
ylab = "Naturalisation facilitée pour les jeunes étrangers (1994)",
xlim=c(0,100), ylim=c(0,100))
La figure montre qu’au niveau des communes, il n’y a pas de lien particulier entre l’approbation de l’interdiction de l’expérimentation animale et l’approbation de la facilitation de la naturalisation.
Plus généralement, on compare les 184 votations deux à deux à l’aide d’une matrice de corrélation :
c <-cor(data_old)
head(c[,1:5])
## 06.06.1982.Code.pénal.suisse
## 06.06.1982.Code.pénal.suisse 1.00000000
## 06.06.1982.Loi.sur.les.étrangers 0.20664185
## 28.11.1982.Surveillance.des.prix..contre.projet. 0.30427676
## 28.11.1982.Surveillance.des.prix..initiative. -0.33097805
## 27.02.1983.Article.sur.l.énergie 0.16478319
## 27.02.1983.Droits.de.douane.sur.les.carburants 0.07317908
## 06.06.1982.Loi.sur.les.étrangers
## 06.06.1982.Code.pénal.suisse 0.20664185
## 06.06.1982.Loi.sur.les.étrangers 1.00000000
## 28.11.1982.Surveillance.des.prix..contre.projet. 0.06871332
## 28.11.1982.Surveillance.des.prix..initiative. 0.01776461
## 27.02.1983.Article.sur.l.énergie 0.34229314
## 27.02.1983.Droits.de.douane.sur.les.carburants 0.27545081
## 28.11.1982.Surveillance.des.prix..contre.projet.
## 06.06.1982.Code.pénal.suisse 0.30427676
## 06.06.1982.Loi.sur.les.étrangers 0.06871332
## 28.11.1982.Surveillance.des.prix..contre.projet. 1.00000000
## 28.11.1982.Surveillance.des.prix..initiative. -0.48935179
## 27.02.1983.Article.sur.l.énergie 0.01670866
## 27.02.1983.Droits.de.douane.sur.les.carburants 0.01346510
## 28.11.1982.Surveillance.des.prix..initiative.
## 06.06.1982.Code.pénal.suisse -0.33097805
## 06.06.1982.Loi.sur.les.étrangers 0.01776461
## 28.11.1982.Surveillance.des.prix..contre.projet. -0.48935179
## 28.11.1982.Surveillance.des.prix..initiative. 1.00000000
## 27.02.1983.Article.sur.l.énergie 0.20548598
## 27.02.1983.Droits.de.douane.sur.les.carburants 0.02888380
## 27.02.1983.Article.sur.l.énergie
## 06.06.1982.Code.pénal.suisse 0.16478319
## 06.06.1982.Loi.sur.les.étrangers 0.34229314
## 28.11.1982.Surveillance.des.prix..contre.projet. 0.01670866
## 28.11.1982.Surveillance.des.prix..initiative. 0.20548598
## 27.02.1983.Article.sur.l.énergie 1.00000000
## 27.02.1983.Droits.de.douane.sur.les.carburants 0.56160256
On regarde ensuite l’indice de KMO, que l’on souhaite le plus proche de 1 pour une bonne ACP.
kmo <- KMO(data_old)
kmo$MSA
## [1] 0.9752057
Farpait.
On fait ensuite le test de sphéricité de Bartlett pour vérifier que les variables ne sont pas issues d’une population dont la matrice est l’identité, ce qui traduirait une absence totale de corrélation ente les variables, et dans ce cas une analyse des composantes principales n’aurait donc pas d’intérêt.
bart_spher(data_old)
## Bartlett's Test of Sphericity
##
## Call: bart_spher(x = data_old)
##
## X2 = 576556.352
## df = 16836
## p-value < 2.22e-16
Avec un p-value telle que celle-ci, on peut rejeter l’hypothèse (nulle) selon laquelle notre matrice des corrélations est déterminée à partir d’une population dont la matrice est identité. Ainsi, une ACP semble être pertinente.
ATTENTION !!! A ce stade, nous avons suivi une analyse scientifique classique où nous passions “naïvement” par différentes étapes. Dans l’étape suivante, la calibration de l’ACP a été réalisée de manière à obtenir les résultats les plus proches de ceux récoltés par Hermann et Leuthold (2003) dans l’idée de pouvoir réaliser une cartographie qui soit similaire par la suite. Les résultats ne sont donc pas les meilleurs ni les plus adaptés, ce sont ceux qui nous permettent de poursuivre plus facilement notre interprétation de la méthode employée par les auteurs originaux. La plupart des commentaires “politiques” sont des reprises des originaux
On utilise le package “psych” avec une rotation varimax.
acp <- principal(data_old, nfactors = 3, rotate = "varimax")
summary(acp)
##
## Factor analysis with Call: principal(r = data_old, nfactors = 3, rotate = "varimax")
##
## Test of the hypothesis that 3 factors are sufficient.
## The degrees of freedom for the model is 16287 and the objective function was 131.79
## The number of observations was 2224 with Chi Square = 284508 with prob < 0
##
## The root mean square of the residuals (RMSA) is 0.07
p <- print(acp)
round(p$Vaccounted,2)
## RC2 RC1 RC3
## SS loadings 35.62 31.20 30.25
## Proportion Var 0.19 0.17 0.16
## Cumulative Var 0.19 0.36 0.53
## Proportion Explained 0.37 0.32 0.31
## Cumulative Proportion 0.37 0.69 1.00
plot(100*acp$values/sum(acp$values),
xlim = c(1,8), ylim = c(0,30),
xlab = "Composante", ylab = "% de variance expliquée",
type = "b", las=1)
Avec les trois premières composantes, on est seulement à 52,69% de variance expliquée. Il s’agit pourtant de l’ACP pour laquelle les résultats coïncident le mieux avec ceux du livre.
On doit à présent regarder les différentes composantes obtenues :
kable(acp$loadings[,c(3,1,2)], digits=4)
| RC3 | RC2 | RC1 | |
|---|---|---|---|
| 06.06.1982.Code.pénal.suisse | -0.4566 | -0.0090 | 0.2005 |
| 06.06.1982.Loi.sur.les.étrangers | 0.0983 | -0.2099 | 0.6556 |
| 28.11.1982.Surveillance.des.prix..contre.projet. | -0.5297 | 0.0903 | 0.0602 |
| 28.11.1982.Surveillance.des.prix..initiative. | 0.6931 | 0.3170 | -0.0006 |
| 27.02.1983.Article.sur.l.énergie | 0.2520 | 0.1377 | 0.5048 |
| 27.02.1983.Droits.de.douane.sur.les.carburants | 0.2330 | -0.2549 | 0.2245 |
| 04.12.1983.Droit.de.la.nationalité | -0.0127 | 0.1792 | 0.6979 |
| 04.12.1983.Naturalisation.facilitée | 0.0690 | 0.0942 | 0.5329 |
| 26.02.1984.Initiative.pour.le.service.civil | 0.6619 | 0.2607 | 0.3827 |
| 26.02.1984.Redevance.sur.les.poids.lourds | 0.0717 | 0.7706 | 0.0505 |
| 26.02.1984.Vignette.autoroutière | -0.1619 | 0.7417 | -0.2089 |
| 20.05.1984.Contre.le.bradage.du.sol.national | -0.2791 | 0.6849 | -0.1721 |
| 20.05.1984.Initiative.sur.les.banques | 0.0418 | 0.6297 | -0.0512 |
| 23.09.1984.Approvisionnement.en.énergie.respectueux.de.l.environnement | 0.5918 | 0.1266 | 0.0757 |
| 23.09.1984.Initiative.contre.l.énergie.nucléaire | 0.5802 | 0.0989 | 0.0084 |
| 02.12.1984.Aide.aux.victimes.de.la.violence | -0.1581 | 0.7044 | 0.2737 |
| 02.12.1984.Article.sur.la.radio.et.télévision | 0.0977 | 0.3821 | 0.5990 |
| 02.12.1984.Protection.de.la.maternité | 0.7311 | 0.0016 | 0.2920 |
| 10.03.1985.Extension.de.la.durée.des.vacances | 0.8091 | 0.1205 | 0.0974 |
| 10.03.1985.Subsides.de.formation | -0.5848 | 0.1014 | 0.4075 |
| 10.03.1985.Subventionnement.de.la.santé.publique | -0.5066 | 0.2274 | 0.5452 |
| 10.03.1985.Subventionnement.de.l.instruction.primaire | -0.4843 | 0.3333 | 0.5300 |
| 09.06.1985.Imposition.des.boissons.distillées | -0.1886 | 0.4615 | 0.4710 |
| 09.06.1985.Part.cantonal.aux.droits.de.timbre | -0.2798 | 0.5064 | 0.4404 |
| 09.06.1985.Pour.le.droit.à.la.vie | 0.0849 | -0.1696 | -0.5445 |
| 09.06.1985.Suppression.de.l.aide.aux.producteurs.cultivant.le.blé | 0.3420 | -0.1369 | 0.6143 |
| 22.09.1985.Garantie.contre.les.risques.à.l.innovation | 0.7371 | -0.0416 | 0.3187 |
| 22.09.1985.Harmonisation.du.début.de.l.année.scolaire | 0.5224 | -0.3251 | 0.3131 |
| 22.09.1985.Nouveau.droit.matrimonial | 0.6643 | 0.0485 | 0.5389 |
| 01.12.1985.Suppression.de.la.vivisection | -0.0430 | 0.7161 | -0.0154 |
| 16.03.1986.Adhésion.de.la.Suisse.à.l.ONU | 0.5258 | 0.2487 | 0.5475 |
| 28.09.1986.Arrêté.sur.l.économie.sucrière | -0.2289 | -0.6171 | 0.0245 |
| 28.09.1986.En.faveur.de.la.culture..contre.projet. | 0.0800 | 0.2901 | 0.1422 |
| 28.09.1986.En.faveur.de.la.culture..initiative. | 0.6783 | 0.0164 | 0.2444 |
| 28.09.1986.Formation.professionnelle.et.recyclage | 0.6374 | 0.1144 | 0.0302 |
| 07.12.1986.Imposition.du.trafic.des.poids.lourds | 0.2595 | 0.7342 | 0.1852 |
| 07.12.1986.Protection.des.locataires | 0.5070 | 0.3755 | 0.2470 |
| 05.04.1987.Initiatives.avec.contre.projet | 0.5178 | 0.3648 | 0.4599 |
| 05.04.1987.Loi.sur.l.asile | -0.3895 | 0.0158 | -0.0089 |
| 05.04.1987.Loi.sur.les.étrangers | -0.2570 | 0.0530 | 0.1966 |
| 05.04.1987.Référendum.en.matière.de.dépenses.militaires | 0.7183 | 0.2402 | -0.0074 |
| 06.12.1987.Initiative.pour.la.protection.des.marais | 0.4526 | 0.4188 | 0.0468 |
| 06.12.1987.Loi.sur.l.assurance.maladie | 0.5402 | 0.3796 | 0.1417 |
| 06.12.1987.Projet.RAIL.2000 | 0.3725 | 0.2157 | 0.3344 |
| 12.06.1988.Abaissement.de.l.âge.de.la.retraite | 0.8330 | 0.1076 | 0.0538 |
| 12.06.1988.Politique.coordonnée.des.transports | 0.0754 | 0.8007 | 0.0423 |
| 04.12.1988.Contre.la.spéculation.foncière | 0.4853 | 0.4211 | 0.1024 |
| 04.12.1988.Limitation.de.l.immigration | 0.1869 | 0.3455 | -0.3543 |
| 04.12.1988.Réduction.de.la.durée.du.travail | 0.8063 | 0.2101 | 0.1304 |
| 04.06.1989.Initiative.en.faveur.des.petits.paysans | 0.2207 | 0.7718 | -0.0704 |
| 26.11.1989.Initiative..pro.vitesse.130.100. | 0.3760 | -0.7469 | 0.2079 |
| 26.11.1989.Suisse.sans.armée | 0.6935 | 0.1413 | 0.2429 |
| 01.04.1990.Arrêté.sur.la.viticulture | 0.0004 | -0.6399 | 0.2291 |
| 01.04.1990.District.du.Knonau.sans.autoroutes | -0.0900 | 0.7715 | -0.2421 |
| 01.04.1990.Initiative.contre.une.autoroute.entre.Bienne.et.Soleure | -0.1951 | 0.7952 | -0.2605 |
| 01.04.1990.Initiative.contre.une.autoroute.entre.Morat.et.Yverdon | -0.1409 | 0.8132 | -0.2415 |
| 01.04.1990.Loi.sur.l.organisation.judiciaire | -0.3407 | -0.2516 | 0.4594 |
| 01.04.1990.Stabilisation.du.réseau.routier | 0.0254 | 0.7812 | -0.2091 |
| 23.09.1990.Abandon.de.l.énergie.atomique | 0.6881 | 0.1760 | 0.0721 |
| 23.09.1990.Article.sur.l.énergie | 0.3981 | 0.4228 | 0.2562 |
| 23.09.1990.Loi.sur.la.circulation.routière | -0.0112 | -0.7262 | 0.4156 |
| 23.09.1990.Moratoire.nucléaire | 0.5704 | 0.3231 | 0.0272 |
| 03.03.1991.Droit.de.vote.à.18.ans | 0.2538 | -0.0236 | 0.4452 |
| 03.03.1991.Encouragement.des.transports.publics | 0.1887 | 0.7311 | 0.0963 |
| 02.06.1991.Code.pénal.militaire | -0.3554 | 0.4187 | 0.1321 |
| 02.06.1991.Introduction.de.la.TVA | -0.1136 | 0.6485 | 0.1933 |
| 16.02.1992.Initiative.contre.l.expérimentation.animale | -0.1227 | 0.7694 | -0.0398 |
| 16.02.1992.Initiative.des.caisses.maladie | 0.2619 | 0.4845 | -0.3964 |
| 17.05.1992.Adhésion.aux.institutions.de.Bretton.Woods | 0.2563 | -0.1901 | 0.8099 |
| 17.05.1992.Initiative..pour.la.sauvegarde.de.nos.eaux. | 0.2406 | 0.7183 | 0.1709 |
| 17.05.1992.Loi.sur.la.protection.des.eaux | 0.0056 | 0.6755 | 0.3235 |
| 17.05.1992.Participation.aux.institutions.de.Bretton.Woods | 0.2386 | -0.1676 | 0.8113 |
| 17.05.1992.Révision.du.droit.pénal.en.matière.sexuelle | 0.2044 | 0.5397 | 0.5048 |
| 17.05.1992.Service.civil.pour.les.objecteurs.de.conscience | 0.1002 | 0.7086 | 0.2351 |
| 17.05.1992.Techniques.de.reproduction.et.manipulation.génétique | 0.0055 | 0.6091 | 0.4089 |
| 27.09.1992.Arrêté.sur.le.transit.alpin | 0.3122 | -0.2157 | 0.5706 |
| 27.09.1992.Loi.sur.le.droit.foncier.rural | 0.0110 | 0.6241 | -0.0790 |
| 27.09.1992.Loi.sur.les.coûts.d.infrastructure | 0.3046 | 0.3011 | 0.6127 |
| 27.09.1992.Loi.sur.les.droits.de.timbre | -0.0117 | -0.1231 | 0.6738 |
| 27.09.1992.Loi.sur.les.indemnités.parlementaires | 0.3585 | 0.1859 | 0.6560 |
| 27.09.1992.Loi.sur.les.rapports.entre.les.conseils | 0.3406 | 0.0967 | 0.7889 |
| 06.12.1992.Adhésion.à.l.EEE | 0.3740 | -0.4665 | 0.7188 |
| 07.03.1993.Abolition.de.la.vivisection | 0.1680 | 0.6829 | -0.1049 |
| 07.03.1993.Autorisation.des.maisons.de.jeu | 0.0445 | -0.0374 | 0.3535 |
| 07.03.1993.Droits.d.entrée.sur.les.carburants | -0.4473 | 0.6980 | 0.0250 |
| 06.06.1993.40.places.d.armes.ça.suffit | 0.8016 | 0.0058 | 0.2762 |
| 06.06.1993.Initiative.contre.de.nouveaux.avions.de.combat | 0.7910 | 0.0418 | 0.2495 |
| 26.09.1993.Abus.de.l.usage.d.armes | 0.2107 | 0.1364 | 0.6004 |
| 26.09.1993.Initiative.1er.août | 0.2422 | 0.4203 | 0.1011 |
| 26.09.1993.Mesures..concernant.l.assurance.maladie | -0.2920 | 0.1393 | 0.4522 |
| 26.09.1993.Mesures.en.matière.d.assurance.chômage | -0.2761 | 0.0170 | 0.4731 |
| 26.09.1993.Rattachement.du.district.de.Laufon.à.Bâle.Campagne | 0.3320 | -0.3421 | 0.4952 |
| 28.11.1993.Impôts.de.consommation.spéciaux | -0.2403 | 0.4189 | 0.6602 |
| 28.11.1993.Introduction.de.la.TVA | -0.2990 | 0.3495 | 0.6467 |
| 28.11.1993.Pourcentage.de.la.TVA.pour.l.AVS | -0.2156 | 0.5332 | 0.4641 |
| 28.11.1993.Prévention.des.problèmes.liés.à.l.alcool | 0.0766 | 0.6901 | -0.0078 |
| 28.11.1993.Prévention.des.problèmes.liés.au.tabac | 0.0893 | 0.6941 | 0.0253 |
| 28.11.1993.TVA..taux.de.6.5.. | -0.2861 | 0.5031 | 0.4756 |
| 20.02.1994.Initiative.pour.la.protection.des.Alpes | 0.0157 | 0.7906 | -0.2140 |
| 20.02.1994.Loi.sur.la.navigation.aérienne | 0.0797 | -0.2159 | 0.5766 |
| 20.02.1994.Prorogation.de.la.redevance.sur.les.poids.lourds | -0.1149 | 0.8853 | 0.0310 |
| 20.02.1994.Prorogation.de.la.vignette.autoroutière | -0.2445 | 0.8438 | 0.0165 |
| 20.02.1994.Taxe.poids.lourds.liée.aux.prestations | -0.0046 | 0.8745 | 0.0675 |
| 12.06.1994.Article.sur.l.encouragement.de.la.culture | 0.5651 | 0.0529 | 0.6230 |
| 12.06.1994.Casques.bleus | 0.2316 | -0.0973 | 0.8269 |
| 12.06.1994.Naturalisation.facilitée.pour.les.jeunes.étrangers | 0.1944 | -0.1259 | 0.8589 |
| 25.09.1994.Loi.contre.le.racisme | 0.1928 | 0.2504 | 0.7342 |
| 25.09.1994.Suppression.de.la.réduction.du.prix.du.blé.indigène | -0.1479 | 0.4338 | 0.6755 |
| 04.12.1994.Initiative..pour.une.saine.assurance.maladie. | 0.7742 | -0.1028 | 0.1199 |
| 04.12.1994.Loi.sur.l.assurance.maladie | 0.6644 | -0.2487 | 0.4138 |
| 04.12.1994.Mesures.de.contrainte.concernant.les.étrangers | -0.5146 | 0.4769 | -0.1250 |
| 12.03.1995.Article.sur.l.agriculture | -0.1108 | -0.7086 | 0.2667 |
| 12.03.1995.Economie.laitière | -0.0566 | -0.7067 | 0.2416 |
| 12.03.1995.Frein.aux.dépenses | -0.3154 | -0.0265 | 0.5211 |
| 12.03.1995.Loi.sur.l.agriculture | -0.0094 | -0.6983 | 0.2582 |
| 25.06.1995.10e.révision.de.l.AVS | -0.7244 | 0.2057 | 0.3182 |
| 25.06.1995.Acquisition.d.immeubles.par.des.étrangers | 0.2922 | -0.4101 | 0.6789 |
| 25.06.1995.Extension.de.l.AVS.et.de.l.AI | 0.7919 | 0.1232 | 0.0387 |
| 10.03.1996.Article.sur.les.langues | 0.3816 | -0.0731 | 0.5169 |
| 10.03.1996.Equipement.personnel.des.militaires | -0.1327 | 0.4657 | 0.4605 |
| 10.03.1996.Places.de.stationnement.près.des.gares | -0.2241 | 0.5134 | 0.2020 |
| 10.03.1996.Rachat.d.eau.de.vie.et.d.appareils.à.distiller | -0.0392 | 0.2940 | 0.7151 |
| 10.03.1996.Transfert.de.la.commune.de.Vellerat.au.canton.du.Jura | 0.0747 | 0.0762 | 0.4878 |
| 09.06.1996.Article.sur.l.agriculture | 0.1120 | 0.6928 | 0.2047 |
| 09.06.1996.Organisation.du.gouvernement.et.de.l.administration | 0.4380 | -0.1688 | 0.7164 |
| 01.12.1996.Contre.l.immigration.clandestine | -0.3083 | 0.3220 | -0.6692 |
| 01.12.1996.Loi.sur.le.travail | -0.5563 | 0.3017 | 0.3270 |
| 08.06.1997.Initiative.contre.l.exportation.de.matériel.de.guerre | 0.6394 | 0.0651 | 0.3185 |
| 08.06.1997.Négociations.d.adhésion.à.l.UE..que.le.peuple.décide | 0.0529 | 0.1825 | -0.5913 |
| 08.06.1997.Suppression.de.la.régale.des.poudres | -0.1686 | 0.4459 | 0.5031 |
| 28.09.1997.Financement.de.l.assurance.chômage | -0.7139 | 0.4044 | -0.1030 |
| 28.09.1997.Initiative..Jeunesse.sans.drogue. | -0.0906 | -0.4080 | -0.3414 |
| 07.06.1998.Initiative.contre.une.police.fouineuse | 0.5560 | 0.2903 | -0.0721 |
| 07.06.1998.Initiative.pour.la.protection.génétique | -0.1684 | 0.6871 | -0.4175 |
| 07.06.1998.Objectif.budgétaire.2001 | -0.6617 | 0.3718 | 0.2207 |
| 27.09.1998.Initiative.contre.le.relèvement.de.l.âge.de.la.retraite | 0.8571 | -0.1504 | 0.1116 |
| 27.09.1998.Initiative.des.petits.paysans | 0.2762 | 0.7274 | -0.1256 |
| 27.09.1998.Redevance.sur.les.poids.lourds.liée.aux.prestations | 0.3055 | 0.6115 | 0.3962 |
| 29.11.1998.Article.céréalier | 0.1695 | 0.3835 | 0.6214 |
| 29.11.1998.Financement.de.l.infrastructure.des.transports.publics | 0.4214 | 0.3231 | 0.3718 |
| 29.11.1998.Initiative.Droleg | -0.0798 | 0.6533 | -0.1047 |
| 29.11.1998.Loi.sur.le.travail | -0.4000 | 0.5503 | 0.3212 |
| 07.02.1999.Eligibilité.au.Conseil.fédéral | -0.3842 | 0.4537 | 0.4443 |
| 07.02.1999.Initiative..propriété.du.logement.pour.tous. | -0.2915 | -0.0513 | -0.0324 |
| 07.02.1999.Loi.sur.l.aménagement.du.territoire | 0.0959 | -0.5054 | 0.3178 |
| 07.02.1999.Médecine.de.la.transplantation | 0.0986 | -0.0403 | 0.6313 |
| 18.04.1999.Nouvelle.Constitution.fédérale | 0.4644 | -0.1622 | 0.7232 |
| 13.06.1999.Loi.sur.l.asile | -0.4849 | 0.5702 | 0.1284 |
| 13.06.1999.Loi.sur.l.assurance.invalidité | -0.0608 | -0.1436 | 0.3954 |
| 13.06.1999.Loi.sur.l.assurance.maternité | 0.6436 | -0.4008 | 0.5403 |
| 13.06.1999.Mesures.dans.le.domaine.de.l.asile.et.des.étrangers | -0.5146 | 0.5909 | 0.0429 |
| 13.06.1999.Prescription.d.héroïne | -0.0243 | 0.6834 | 0.3724 |
| 12.03.2000.Initiative.des.quotas | 0.5768 | -0.0285 | 0.4014 |
| 12.03.2000.Initiative.pour.la.réduction.du.trafic | 0.1739 | 0.7397 | 0.1815 |
| 12.03.2000.Initiative.pour.une.démocratie.directe.plus.rapide | 0.0782 | 0.2315 | -0.1641 |
| 12.03.2000.Procréation.respectant.la.dignité.humaine | -0.0616 | 0.6266 | -0.4713 |
| 12.03.2000.Réforme.de.la.justice | 0.0316 | 0.3224 | 0.6996 |
| 21.05.2000.Accords.bilatéraux.avec.l.UE | 0.1485 | -0.2411 | 0.7753 |
| 24.09.2000.Initiative.solaire | 0.2542 | 0.5166 | 0.1830 |
| 24.09.2000.Redevance.incitative.en.faveur.de.l.environnement | 0.0273 | 0.6842 | 0.2208 |
| 24.09.2000.Redevance.pour.l.encouragement.des.énergies.renouvelables | 0.1577 | 0.4062 | 0.3802 |
| 24.09.2000.Référendum.constructif | 0.5682 | 0.2222 | -0.1747 |
| 24.09.2000.Réglement.de.l.immigration | -0.2491 | 0.3471 | -0.6782 |
| 26.11.2000.Assouplissement.de.l.AVS | 0.8046 | -0.2888 | 0.2432 |
| 26.11.2000.Initiative..pour.des.coûts.hospitaliers.moins.élevés. | 0.4480 | -0.0107 | -0.3106 |
| 26.11.2000.Loi.sur.le.personnel.de.la.Confédération | -0.6939 | 0.3998 | 0.1993 |
| 26.11.2000.Redistribution.des.dépenses.militaires | 0.7496 | -0.2433 | 0.4336 |
| 26.11.2000.Retraite.à.la.carte.dès.62.ans | 0.7985 | -0.3305 | 0.1850 |
| 04.03.2001.Initiative..pour.des.médicaments.à.moindre.prix. | -0.0617 | 0.6913 | -0.1627 |
| 04.03.2001.Oui.à.l.Europe. | 0.4548 | -0.3312 | 0.6715 |
| 04.03.2001.Rues.pour.tous | 0.1597 | 0.5775 | 0.3167 |
| 10.06.2001.Loi.sur.l.armée..armement | -0.1454 | 0.1971 | 0.6162 |
| 10.06.2001.Loi.sur.l.armée..coopération.en.matière.d.instruction | -0.1394 | 0.1346 | 0.6716 |
| 10.06.2001.Suppression.de.l.article.sur.les.évêchés | 0.1128 | 0.2524 | 0.1452 |
| 02.12.2001.Frein.à.l.endettement | -0.6180 | 0.1768 | 0.1698 |
| 02.12.2001.Impôt.sur.les.gains.en.capital | 0.4150 | 0.1194 | 0.0446 |
| 02.12.2001.Service.civil.volontaire.pour.la.paix | 0.7075 | -0.1247 | 0.4440 |
| 02.12.2001.Suisse.sans.armée | 0.6725 | -0.1099 | 0.4337 |
| 02.12.2001.Taxer.l.énergie.et.non.le.travail | 0.3893 | 0.4354 | 0.1675 |
| 03.03.2002.Adhésion.de.la.Suisse.à.l.ONU | 0.2264 | -0.0679 | 0.8118 |
| 03.03.2002.Durée.du.travail.réduite | 0.7799 | -0.1227 | 0.3529 |
| 02.06.2002.Pour.la.mère.et.l.enfant | -0.0268 | -0.0239 | -0.6235 |
| 02.06.2002.Régime.du.délai | 0.1078 | -0.0377 | 0.7017 |
| 22.09.2002.Initiative.sur.l.or | -0.1160 | 0.1211 | -0.5423 |
L’opposition “gauche-droite” correspond au à la troisème composante (RC3) qui, selon l’analyse factorielle, est le mieux représentée par les 20 votes du tableau ci-dessous. Les votes sont rangés en fonction de l’intensité avec laquelle ils déterminent la ligne de fracture.
p <- print(ICLUST.sort(acp$loadings))
resultRC3 <-melt(data.frame(p$content[129:149],p$RC3[129:149]))
resultRC3 <- resultRC3[,-2]
colnames(resultRC3) <- c("Votation","loading")
kable(resultRC3)
| Votation | loading |
|---|---|
| 27.09.1998.Initiative.contre.le.relèvement.de.l.âge.de.la.retraite | 0.86 |
| 12.06.1988.Abaissement.de.l.âge.de.la.retraite | 0.83 |
| 10.03.1985.Extension.de.la.durée.des.vacances | 0.81 |
| 04.12.1988.Réduction.de.la.durée.du.travail | 0.81 |
| 26.11.2000.Assouplissement.de.l.AVS | 0.80 |
| 06.06.1993.40.places.d.armes.ça.suffit | 0.80 |
| 26.11.2000.Retraite.à.la.carte.dès.62.ans | 0.80 |
| 25.06.1995.Extension.de.l.AVS.et.de.l.AI | 0.79 |
| 06.06.1993.Initiative.contre.de.nouveaux.avions.de.combat | 0.79 |
| 03.03.2002.Durée.du.travail.réduite | 0.78 |
| 04.12.1994.Initiative..pour.une.saine.assurance.maladie. | 0.77 |
| 26.11.2000.Redistribution.des.dépenses.militaires | 0.75 |
| 22.09.1985.Garantie.contre.les.risques.à.l.innovation | 0.74 |
| 02.12.1984.Protection.de.la.maternité | 0.73 |
| 25.06.1995.10e.révision.de.l.AVS | -0.72 |
| 05.04.1987.Référendum.en.matière.de.dépenses.militaires | 0.72 |
| 28.09.1997.Financement.de.l.assurance.chômage | -0.71 |
| 02.12.2001.Service.civil.volontaire.pour.la.paix | 0.71 |
| 26.11.2000.Loi.sur.le.personnel.de.la.Confédération | -0.69 |
| 26.11.1989.Suisse.sans.armée | 0.69 |
| 28.11.1982.Surveillance.des.prix..initiative. | 0.69 |
Comme l’indique la liste, le premier conflit concerne principalement l’Etat-providence et la protection des travailleurs. D’un côté de la ligne de conflit, il y a une attitude qui cherche à améliorer la situation des travailleurs et à élargir les services de l’Etat providence. De l’autre, il y a au contraire le souci de réduire les coûts de l’Etat-providence et de protéger les intérêts des employeurs.
Outre la politique sociale, un deuxième groupe de thèmes est fortement représenté dans le tableau. Il s’agit de propositions sur la politique de sécurité (par exemple, “Suisse sans armée” ou “40 places d’armes suffisent”). Lors des votations, ces sujets montrent un degré élevé d’accord avec les questions sociopolitiques. Il montre qu’une attitude “sociale” est généralement associée à une attitude “pacifiste”. D’autre part, les valeurs contraires coincident donc avec une attitude positive envers les autorités de sécurité, l’armée et la police.
Lorsque le débat sur l’Europe a commencé en Suisse au début des années 1990, il est apparu que la société ne pouvait pas seulement être divisée entre la gauche et la droite. En ce qui concerne le vote sur l’Espace Economique Européen de 1992, des coalitions se sont formées et ont rassemblé des mouvements de gauche avec des mouvements de droite.
L’ACP confirme cette constatation : les propositions d’intégration de la Suisse dans la communauté internationale (UE, ONU, Banque mondiale, etc.) ne se situent pas sur la ligne de conflit gauche-droite, mais forment un groupe indépendant. Le tableau ci-dessous montre les 25 votes qui décrivent le mieux cette deuxième fracture (RC1).
resultRC1 <-melt(data.frame(p$content[71:95],p$RC1[71:95]))
resultRC1 <- resultRC1[,-2]
colnames(resultRC1) <- c("Votation","loading")
kable(resultRC1)
| Votation | loading |
|---|---|
| 12.06.1994.Naturalisation.facilitée.pour.les.jeunes.étrangers | 0.86 |
| 12.06.1994.Casques.bleus | 0.83 |
| 03.03.2002.Adhésion.de.la.Suisse.à.l.ONU | 0.81 |
| 17.05.1992.Participation.aux.institutions.de.Bretton.Woods | 0.81 |
| 17.05.1992.Adhésion.aux.institutions.de.Bretton.Woods | 0.81 |
| 27.09.1992.Loi.sur.les.rapports.entre.les.conseils | 0.79 |
| 21.05.2000.Accords.bilatéraux.avec.l.UE | 0.78 |
| 25.09.1994.Loi.contre.le.racisme | 0.73 |
| 18.04.1999.Nouvelle.Constitution.fédérale | 0.72 |
| 06.12.1992.Adhésion.à.l.EEE | 0.72 |
| 09.06.1996.Organisation.du.gouvernement.et.de.l.administration | 0.72 |
| 10.03.1996.Rachat.d.eau.de.vie.et.d.appareils.à.distiller | 0.72 |
| 02.06.2002.Régime.du.délai | 0.70 |
| 12.03.2000.Réforme.de.la.justice | 0.70 |
| 04.12.1983.Droit.de.la.nationalité | 0.70 |
| 25.06.1995.Acquisition.d.immeubles.par.des.étrangers | 0.68 |
| 24.09.2000.Réglement.de.l.immigration | -0.68 |
| 25.09.1994.Suppression.de.la.réduction.du.prix.du.blé.indigène | 0.68 |
| 27.09.1992.Loi.sur.les.droits.de.timbre | 0.67 |
| 10.06.2001.Loi.sur.l.armée..coopération.en.matière.d.instruction | 0.67 |
| 04.03.2001.Oui.à.l.Europe. | 0.67 |
| 01.12.1996.Contre.l.immigration.clandestine | -0.67 |
| 28.11.1993.Impôts.de.consommation.spéciaux | 0.66 |
| 27.09.1992.Loi.sur.les.indemnités.parlementaires | 0.66 |
| 06.06.1982.Loi.sur.les.étrangers | 0.66 |
La deuxième ligne de conflit contient également les votations sur l’intégration des étrangers, telles que la “naturalisation facilitée des jeunes étrangers” ou la “loi antiracisme”. Dans un certain sens, les propositions d’intégration sont aussi des propositions d’ouverture, même il ne s’agit que d’une ouverture à l’intérieur. Le deuxième conflit fondamental est donc un conflit entre cosmopolitisme et la fermeture des frontières. Mais c’est aussi un conflit de modernisation et de préservation. Les propositions de modernisation ont un but. Simplifier les procédures, améliorer les règlementations et les adapter aux exigences d’une société en mutation. Les propositions de modernisation typiques sont la nouvelle Constitution fédérale, l’introduction de la TVA ou une réforme parlementaire.
La combinaison des deux groupes de questions sur la deuxième ligne de clivage montre que quiconque prône l’ouverture du pays vise également la modernisation des institutions de l’Etat. D’autre part, ceux qui voient la necessite d’une plus grande fermeture des frontières veulent surtout préserver la règlementation existante. Les auteurs se réfèrent à l’attitude cosmopolitiste-moderne contre l’attitude de enfermement-préservation, ou plus simplement, libérale contre conservatrice.
Une une troisième ligne de fracture distincte qui est communément associée à une opposition de gauche-droite est révelée : elle concerne la question de savoir comment évaluer l’interférence humaine avec la nature. Dans ce contexte, le souci d’une approche prudente et holistique de la nature, opposé à sa maîtrise technique et son utilisation sont opposés. La liste des votes qui déterminent ce troisième conflit montre une large gamme thématique ; ce sont des votations sur le transport et la protection de l’environnement, mais aussi des votes sur l’agriculture, le bien-être animal et le génie génétique.
resultRC2 <-melt(data.frame(p$content[1:20],p$RC2[1:20]))
resultRC2 <- resultRC2[,-2]
colnames(resultRC2) <- c("Votation","loading")
kable(resultRC2)
| Votation | loading |
|---|---|
| 20.02.1994.Prorogation.de.la.redevance.sur.les.poids.lourds | 0.89 |
| 20.02.1994.Taxe.poids.lourds.liée.aux.prestations | 0.87 |
| 20.02.1994.Prorogation.de.la.vignette.autoroutière | 0.84 |
| 01.04.1990.Initiative.contre.une.autoroute.entre.Morat.et.Yverdon | 0.81 |
| 12.06.1988.Politique.coordonnée.des.transports | 0.80 |
| 01.04.1990.Initiative.contre.une.autoroute.entre.Bienne.et.Soleure | 0.80 |
| 20.02.1994.Initiative.pour.la.protection.des.Alpes | 0.79 |
| 01.04.1990.Stabilisation.du.réseau.routier | 0.78 |
| 04.06.1989.Initiative.en.faveur.des.petits.paysans | 0.77 |
| 01.04.1990.District.du.Knonau.sans.autoroutes | 0.77 |
| 26.02.1984.Redevance.sur.les.poids.lourds | 0.77 |
| 16.02.1992.Initiative.contre.l.expérimentation.animale | 0.77 |
| 26.11.1989.Initiative..pro.vitesse.130.100. | -0.75 |
| 26.02.1984.Vignette.autoroutière | 0.74 |
| 12.03.2000.Initiative.pour.la.réduction.du.trafic | 0.74 |
| 07.12.1986.Imposition.du.trafic.des.poids.lourds | 0.73 |
| 03.03.1991.Encouragement.des.transports.publics | 0.73 |
| 27.09.1998.Initiative.des.petits.paysans | 0.73 |
| 23.09.1990.Loi.sur.la.circulation.routière | -0.73 |
| 17.05.1992.Initiative..pour.la.sauvegarde.de.nos.eaux. | 0.72 |
Les lignes de conflit politiques révélées par l’ACP donnent une idée précise des valeurs fondamentales divergentes en Suisse. Les conflits d’attitude fondamentaux qui existent dans la société sont beaucoup plus divers que dans la politique institutionnelle, où les partis et leurs représentants peuvent encore être classés dans un large éventail de gauche à droite. Alors que le conflit entre une orientation libarale et une orientation conservatrice est devenu de plus en plus visible dans le paysage des partis au cours de la dernière décennie, le contraste entre l’écologie et la technocratie en politique n’est guère considéré comme une ligne de conflit indépendante. (NDE : écrit en 2003, aujourd’hui, un peu plus)
L’espace tridimensionnel des visions du monde couvre les attitudes de base typiques de la Suisse. Bien que statistiquement parlant, les trois dimensions de l’espace pour les différences dans les résultats des votes soient à peu près équivalentes, l’accent ne sera mis que sur les deux dimensions gauche-droite et libéral-conservateur.
Il y a d’abord des raisons pratiques à cela : une carte ne peut afficher qu’un seul plan étiré entre deux dimensions. Cependant, il y a aussi une raison substantielle : le contraste entre écologique et technocratique est avant tout un conflit entre la partie française et la partie allemande du pays et est moins significatif pour l’analyse intrarégionale.
Maintenant que notre ACP a été réalisée et nos facteurs retenus, on attribue à chaque commune son score factoriel.
scores <- as.data.frame(acp$scores)
head(scores)
## RC2 RC1 RC3
## X.Saxeten 0.8539639 -1.9880436 0.3111002
## X.Alpthal -1.6226131 -3.6117403 -0.7833659
## X.Le.Bémont..JU. -1.1920217 -0.6486866 2.6048862
## X.Oberdorf..BL. 0.7357200 -0.5718280 0.1459617
## X.Mellikon 1.0859081 -0.6681187 0.8922702
## X.Liesberg 0.6650193 -1.1980120 0.9954138
De cette façon, on peut cartographier les communes suisses sur la base des votes qu’elles ont réalisées dans notre espace à deux dimensions, RC1 pour l’axe y et -RC3 (on prend l’opposé de façon à avoir la gauche à gauche) pour l’axe x :
par(pty="s")
plot(-scores$RC3, scores$RC1, xlab = "", ylab = "", xaxt='n', yaxt="n", pch=10, cex=.3)
mtext('Droite', side=4, line=2, las=1)
mtext('Gauche', side=2, line=2, las=1)
mtext("Libéral", side =3, line=1)
mtext("Conservateur", side =1, line=1)
Maintenant que nous avons nos coordonnées spatiales, on veut attribuer un poids à ces entités afin de pouvoir réaliser par la suite des estimations de surfaces de densité par noyaux.
On a récupéré un fichier des communes suisses avec le nombre d’habitants, il s’agit maintenant de fusionner ces deux tableaux de données:
communes <- read.csv("communes.csv")
communes$Habitants <- as.numeric(gsub('![[:alnum:]]*[[:space:]]|[[:punct:]]', '', communes$Habitants))
communes$Commune <- gsub('-', ' ', communes$Commune)
Les opérations précédentes ont pas mal abîmé les noms des communes, on réalise donc un certain nombre de modifications textuelles :
scores$Commune <- row.names(scores)
scores$Commune <- stri_sub(scores$Commune,3)
scores$Commune <- gsub('\\.\\.', ' (', scores$Commune)
scores$Commune <- gsub('H\\.', 'H)', scores$Commune)
scores$Commune <- gsub('G\\.', 'G)', scores$Commune)
scores$Commune <- gsub('Z\\.', 'Z)', scores$Commune)
scores$Commune <- gsub('E\\.', 'E)', scores$Commune)
scores$Commune <- gsub('L\\.', 'L)', scores$Commune)
scores$Commune <- gsub('U\\.', 'U)', scores$Commune)
scores$Commune <- gsub('R\\.', 'R)', scores$Commune)
scores$Commune <- gsub('O\\.', 'O)', scores$Commune)
scores$Commune <- gsub('W\\.', 'W)', scores$Commune)
scores$Commune <- gsub('D\\.', 'D)', scores$Commune)
scores$Commune <- gsub('S\\.', 'S)', scores$Commune)
scores$Commune <- gsub('\\.', ' ', scores$Commune)
scores$Commune <- gsub('\\(Urne commune', '', scores$Commune)
scores$Commune <- gsub('St \\(', 'St\\. ', scores$Commune)
scores$Commune <- gsub('Biel Bienne', 'Biel/Bienne', scores$Commune)
On peut alors fusionner les deux fichiers :
scores <- merge(scores, communes, by= "Commune")
Et on garde ce qui est nécessaire :
scores <- scores[,1:6]
L’analyse politique suisse est évidemment géolinguistique : on doit donc retrouver ces langues dans nos données. Pour cela on se sert du code géographique qui est fonction des cantons et districts.
scores$langue <- ""
scores$langue[scores$Code.commune <1720] <- "ALL"
scores$langue[scores$Code.commune <5400 & scores$Code.commune > 5000] <- "ITA" # TI
scores$langue[scores$Code.commune >5400 & scores$Code.commune < 5940] <- "FRA" # VD
scores$langue[scores$Code.commune >6400] <- "FRA" # JU GE NE
scores$langue[scores$Code.commune >1000 & scores$Code.commune < 1720] <- "ALL"
scores$langue[scores$Code.commune >2400 & scores$Code.commune < 4960] <- "ALL"
scores$langue[scores$Code.commune >2000 & scores$Code.commune < 2340] <- "FRA"
scores$langue[scores$Code.commune >6000 & scores$Code.commune < 6012] <- "ALL"
scores$langue[scores$Code.commune >6020 & scores$Code.commune < 6040] <- "FRA"
scores$langue[scores$Code.commune >6040 & scores$Code.commune < 6080] <- "ALL"
scores$langue[scores$Code.commune >6080 & scores$Code.commune < 6100] <- "FRA"
scores$langue[scores$Code.commune >6100 & scores$Code.commune < 6120] <- "ALL"
scores$langue[scores$Code.commune >6120 & scores$Code.commune < 6160] <- "FRA"
scores$langue[scores$Code.commune >6160 & scores$Code.commune < 6210] <- "ALL"
scores$langue[scores$Code.commune >6210 & scores$Code.commune < 6270] <- "FRA"
scores$langue[scores$Code.commune >6270 & scores$Code.commune < 6301] <- "ALL"
On peut alors attribuer les couleurs :
scores$Colour[scores$langue == "FRA"]="#FF3D00"
scores$Colour[scores$langue == "ALL"]="#5DE100"
scores$Colour[scores$langue == "ITA"]="#FFBC00"
Et visualiser le résultat intermédiaire :
par(pty="s")
plot(-scores$RC3, scores$RC1, xlab = "", ylab = "", xaxt='n', yaxt="n", cex=sqrt(scores$Habitants/10000),pch=16, col=scores$Colour)
mtext('Droite', side=4, line=2, las=1)
mtext('Gauche', side=2, line=2, las=1)
mtext("Libéral", side =3, line=1)
mtext("Conservateur", side =1, line=1)
legend("bottomleft",col = c("#FF3D00","#5DE100","#FFBC00"), legend = c("FRA","ALL","ITA"),pch=16)
Ce résultat est en soit déjà satisfaisant par bien des aspects. On veut toutefois reproduire le style “carte topographique” de l’original et on passe alors sur ArcGIS par commodité.
On exporte donc nos données afin de pouvoir les importer dans le SIG.
scores$RC3 <- -scores$RC3
write.csv(scores, "scores.csv")
On charge le fichier scores.csv dans ArcGIS
Les données ne sont pas bien utilisables comme cela, il faut passer par la création d’une couche, on l’appelle tout à fait banalement scores.shp
On a d’abord besoin de calculer le rayon optimal de recherche. Pour obtenir ce search radius (bandwith), on peut reprendre la formule de Silverman (1986) :
\(h = \left ( \frac{4\sigma ^{5}}{3n} \right )^{1/5} \approx 1.06\sigma n^{-1/5}\)
où \(\sigma\) est l’écart-type des distances entre les points et \(n\) le nombre d’observation.
Pour obtenir cet écart-type, on fait un petit calcul :
On peut mettre les poids en paramètres, et cela donne une distance (visible dans le tableau d’attribut de la couche circulaire créée) de 1.296668.
Reprenant la formule de Silverberg, cela donne un h = 0.2955581.
Ensuite, dans la Toolbox, on va chercher la fonction Kernel Density dans le package Spatial Analyst
L’input est notre couche de points, la population est… la population soit les Habitants, la taille de la cellule est fixée à 0.0005 afin d’avoir une bonne résolution.
Un peu d’ajustement graphique sur la couche obtenue, notamment l’ombrage (hillshade) qui donne un aspect « carte topo ».
Afin de déterminer les zones linguistiques, on crée des partitions de nos scores en fonction de la langue (ALL, FRA et ITA).
Ce qui nous donne :
On refait ensuite des KDE sur les points par langue de manière à obtenir 3 nouveaux rasters.
Ensuite, pour obtenir les aires d’influence linguistique, on fait une soustraction entre ces rasters.
Après, optimisation graphique et de la sémiologie, on arrive à :
Avec en rouge l’espace francophone et en vert l’espace germanophone. Comme on ne peut pas refaire une soustraction avec l’espace italophone, on le rajoute par-dessus en transparence. Ce qui donne :
On exporte en svg et on améliore cela sous Illustrator…